package cn.e4j.modular.common.mapper;

import cn.e4j.core.dto.impl.Dto;
import cn.e4j.modular.common.entity.SysOrgT;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 公共查询 Mapper 接口
 * </p>
 *
 * @author ganjia
 * @since 2019-09-09
 */
public interface QueryMapper extends BaseMapper<SysOrgT> {

    /**
     * 开窗取数据
     */
    List<Dto> q_gwak001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 组织开窗数据
     */
    List<Dto> q_sysorg_id(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 业务员（用户）开窗数据
     */
    List<Dto> q_sysuser_id(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 项目开窗数据
     */
    List<Dto> q_gwem001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 归属法人开窗
     */
    List<Dto> q_sysorg_biz(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 客户开窗（权限：根据服务区域与行业分类）
     */
    List<Dto> cq_gwak001_1(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 产品开窗
     */
    List<Dto> cq_gwam001_1(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 客户开窗
     */
    List<Dto> cq_gwak001_2(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 业务员开窗
     */
    List<Dto> cq_sysuser_id_1(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 税种开窗
     */
    List<Dto> q_gwea001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 归属法人（公司）开窗
     */
    List<Dto> cq_sysorg_biz_1(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 币种开窗
     */
    List<Dto> q_gwac001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 销售渠道开窗
     */
    List<Dto> q_gwae001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 订单号开窗
     */
    List<Dto> cq_gwcs_1(@Param("page") Page<Object> page, @Param("dto") Dto dto);
    /**
     * 订单号开窗
     */
    List<Dto> cq_gwcs_1Ora(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 回款单号开窗
     */
    List<Dto> cq_gweo_1(@Param("page") Page<Object> page, @Param("dto") Dto dto);
    /**
     * 回款单号开窗
     */
    List<Dto> cq_gweo_1Ora(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 客户开窗
     */
    List<Dto> cq_gwak001_3(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 业务员开窗
     */
    List<Dto> cq_sysuser_id_2(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 开票申请单号
     */
    List<Dto> q_gweddocno(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 开票申请单号
     */
    List<Dto> q_gweddocnoOra(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 发票单号
     */
    List<Dto> q_gwefdocno(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 发票单号
     */
    List<Dto> q_gwefdocnoOra(@Param("page") Page<Object> page, @Param("dto") Dto dto);



    /**
     * 产品分类开窗
     */
    List<Dto> q_gwah001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 故障开窗
     */
    List<Dto> q_mmrl001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 仓库开窗
     */
    List<Dto> q_gwas001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 产品开窗
     */
    List<Dto> q_gwam001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 仓库库位开窗
     */
    List<Dto> cq_gwat001_1(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 客户开窗
     */
    List<Dto> cq_gwak001_4(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 产品开窗（配件）
     */
    List<Dto> cq_gwam001_2(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 客户已购设备开窗（配件）
     */
    List<Dto> cq_mmra001_1(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 商机阶段开窗
     */
    List<Dto> q_gwav001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 商机主题开窗
     */
    List<Dto> q_gwbg001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 区域开窗
     */
    List<Dto> q_gwad002(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 客户等级开窗
     */
    List<Dto> q_gwaq001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 分类开窗
     */
    List<Dto> q_gwde003(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 客户分类开窗
     */
    List<Dto> q_gwaf001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 行业开窗
     */
    List<Dto> q_gwag001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 产品系列开窗
     */
    List<Dto> q_gwao001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 单位开窗
     */
    List<Dto> q_gwab001(@Param("page") Page<Object> page, @Param("dto") Dto dto);


    /**
     * 角色开窗
     */
    List<Dto> q_sysrole_id(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 交易对象开窗
     */
    List<Dto> cq_gwak001_5(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 母料号：属性分类开窗
     */
    List<Dto> q_gwai001_0(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 子料号：属性分类开窗
     */
    List<Dto> q_gwai001_1(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 经营范围内产品开窗
     */
    List<Dto> cq_gwam001_3(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 渠道价格申请单号开窗
     */
    List<Dto> q_gwdb001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 归属法人（公司）开窗 根据当前登录用户所属组织向上抓类型为公司的第一个组织
     */
    List<Dto> cq_sysorg_biz_2(@Param("dto") Dto dto);
    /**
     * 归属法人（公司）开窗 根据当前登录用户所属组织向上抓类型为公司的第一个组织
     */
    List<Dto> cq_sysorg_biz_2Ora(@Param("dto") Dto dto);

    /**
     * 订单单号开窗
     */
    List<Dto> q_gwcsdocno(@Param("page") Page<Object> page, @Param("dto") Dto dto);
    /**
     * 订单单号开窗
     */
    List<Dto> q_gwcsdocnoOra(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 查询订单仓库
     */
    Dto q_gwas003(@Param("dto") Dto dto);

    /**
     * 商机分类开窗
     */
    List<Dto> q_gwau001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 关键评估项开窗
     */
    List<Dto> q_gwbc001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 促销活动开窗
     */
    List<Dto> q_gwdc001(@Param("page") Page<Object> page, @Param("dto") Dto dto);
    /**
     * 促销活动开窗
     */
    List<Dto> q_gwdc001Ora(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 促销活动开窗前查询客户对于渠道信息
     */
    Dto getGwak(@Param("dto") Dto dto);
    Dto getGwakOra(@Param("dto") Dto dto);
    /**
     * 维护费用编号开窗
     */
    List<Dto> q_gwfa001(@Param("page") Page<Object> page, @Param("dto") Dto dto);


    /**
     * 实际费用计算单号开窗
     */
    List<Dto> q_gwfd001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 查询当前组织及其下级组织数据
     */
    List<Dto> q_sys_org(@Param("dto") Dto dto);

    /**
     * 问题提报处理人员开窗
     */
    List<Dto> q_esaa010(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 客户联系人开窗
     */
    List<Dto> q_gwal021(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    List<Dto> q_gwbw001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 客户价值评估单号开窗
     */
    List<Dto> q_gwby001(@Param("page") Page<Object> page,@Param("dto")  Dto dto);

    /**
     * 产品开窗
     */
    List<Dto> cq_gwam001_5(@Param("page") Page<Object> page,@Param("dto")  Dto dto);

    /**
     * 招标信息开窗
     */
    List<Dto> q_gwga001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    List<Dto> q_gwga001Ora(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    List<Dto> q_gwaml003(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 投标信息开窗
     */
    List<Dto> q_gwgc001(@Param("page") Page<Object> page, @Param("dto") Dto dto);
    List<Dto> q_gwgc001Ora(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    List<Dto> cq_gwgc001_1(@Param("page") Page<Object> page, @Param("dto") Dto dto);
    List<Dto> cq_gwgc001_1Ora(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 竞争厂商开窗
     */
    List<Dto> q_gwgg002(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    /**
     * 销售合同 合同开窗
     */
    List<Dto> q_gwca005(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    List<Dto> cq_gwak001_6(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    List<Dto> q_gwam004(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    List<Dto> q_esab001(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    List<Dto> cq_sysorg_id_1(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    List<Dto> cq_sysmodule_id_1(@Param("page") Page<Object> page, @Param("dto") Dto dto);
}
